'use strict';
const pkgDir = require('pkg-dir')

const { isObject } = require('@ying-cli/utils')

class Package {
    constructor(options) {
        if(!options) {
            throw new Error('Package类得options参数不能为空！')
        }
        if(!isObject(options)) {
            throw new Error('Package类得options参数只能为对象！')
        }
        // package 的目标路径
        this.targetPath = options.targetPath;
        // package的存储路径
        // this.storePath = options.storePath;
        // package的name
        this.packageName = options.packageName;
        //package的Version
        this.packageVersion = options.packageVersion;
    }

    // 判断当前Package是否存在
    exists() {

    }

    // 安装Package
    install() {

    }

    // 更新Package
    update() {

    }

    // 获取入口文件得路径
    getRootFilePath() {
        // 1.获取package.json所在目录 pkg-dir

        // 2.读取package.json - require() js/json/.node

        // 3.main/lib - path

        // 4.路径得兼容（macOS/windows)
    }
}

module.exports = Package;

